
Iterable<int> naturalsTo(n) sync* {
  var k = 0;
  while (k < n) {
    yield k++;
  }
}

runIterable () {
  var natur = naturalsTo(3).iterator;
  print(natur.current);
  var next = natur.moveNext();
  print(next);
  print(natur.current);
  print(natur.runtimeType);
  next = natur.moveNext();
  print(next);
  print(natur.current);
  print(natur.runtimeType);
  next = natur.moveNext();
  print(next);
  print(natur.current);
  print(natur.runtimeType);
  next = natur.moveNext();
  print(next);
  print(natur.current);
  print(natur.runtimeType);
}
